<?php
namespace app\common\model;

class Coupons extends Common {
	protected $append = [
		'typename',
	];
	protected $insert = ['addtime' => SYS_TIME];

	protected function getAlldataAttr($value, $data) {
		$data['startdate'] = $data['starttime'] ? date('Y-m-d H:i:s', $data['starttime']) : '未设置';
		$data['enddate'] = $data['endtime'] ? date('Y-m-d H:i:s', $data['endtime']) : '未设置';
		$data['adddate'] = $data['endtime'] ? date('Y-m-d H:i:s', $data['endtime']) : '未设置';
		if ($data['type'] == 'activity') {
			$data['typename'] = '活动券';
		} else {
			$data['typename'] = $data['type'] ? config('COUPONS_TYPE.' . $data['type']) : '未设置';
		}
		$data['disname'] = $data['distype'] == 2 ? '折扣' : '人民币';
		$data['isgivetext'] = $data['isgive'] ? '可以' : '不可以';
		$data['isbuyviptext'] = $data['isbuyvip'] ? '是' : '否';
		$data['statusname'] = $data['status'] ? '显示' : '隐藏';
		$data['nums'] = model('MemberCoupons')->where('couponsid', $data['id'])->count();
		$data['usenums'] = model('MemberCoupons')->where( 'couponsid', $data[ 'id'])->where('status', 1)->count();
		$data['createrid'] = model('AdminUser')->where('userid', $data['createrid'])->column('username');
		if ($data['auditstatus'] == 1) {
			$data['auditstatus'] = '已审核';
		} else if ($data['auditstatus'] == 2) {
			$data['auditstatus'] = '待审核';
		}
		return $data;
	}
	protected function getTypenameAttr($value, $data) {
		if ($data['type'] == 'activity') {
			$data['typename'] = '活动券';
		} else {
			$data['typename'] = $data['type'] ? config('COUPONS_TYPE.' . $data['type']) : '未设置';
		}
		return $data['typename'];
	}
	protected function setOpentimeAttr($value, $data) {
		if (is_numeric($value)) {
			return $value;
		}
		return strpos($value, ':') !== false ? strtotime($value) : strtotime($value . ' 00:00:00');
	}
	protected function setClosetimeAttr($value, $data) {
		if (is_numeric($value)) {
			return $value;
		}
		return strpos($value, ':') !== false ? strtotime($value) : strtotime($value . ' 23:59:59');
	}
	protected function setStarttimeAttr($value, $data) {
		if (is_numeric($value)) {
			return $value;
		}
		return strpos($value, ':') !== false ? strtotime($value) : strtotime($value . ' 00:00:00');
	}
	protected function setEndtimeAttr($value, $data) {
		if (is_numeric($value)) {
			return $value;
		}
		return strpos($value, ':') !== false ? strtotime($value) : strtotime($value . ' 23:59:59');
	}

}